Skip to content

Conversation

@buffalojoec
Copy link
Collaborator

Makes Mollusk generic over some implementation of a VM. This means you could run Mollusk with Firedancer's VM or a custom Solana-compatible VM.

Simply implement the calling convention for the desired VM and use Mollusk::<MyVM>::new_with_vm(..).

The strategic use of generic parameters with default values means that all existing users should never have to add a type parameter and should get Mollusk<AgaveVM> by default, which is the exact same harness the library has been using since the beginning.

@buffalojoec buffalojoec changed the base branch from main to feat/generic-fm October 30, 2025 03:58
@buffalojoec buffalojoec changed the title [DRAFT]: Feature: Generic VMs feat: Generic VMs: initial setup Oct 30, 2025
@buffalojoec buffalojoec changed the title feat: Generic VMs: initial setup feat: generic vm: initial setup Oct 30, 2025
@buffalojoec buffalojoec marked this pull request as ready for review October 30, 2025 03:58
@buffalojoec
Copy link
Collaborator Author

Merging into feature branch!

@buffalojoec buffalojoec merged commit 5eabacb into feat/generic-fm Oct 30, 2025
5 checks passed
@buffalojoec buffalojoec deleted the feat-generic-vm branch October 30, 2025 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants